package com.sbpm.crmbpm.client.services;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sbpm.crmbpm.shared.data.TaskInfo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Created by U_M0PQL on 12.10.2014.
 */
public interface ProcessServiceAsync
{
    void createMoneyTransferProcessInstance(AsyncCallback<Long> callback);
    void createInsuranceRequestProcessInstance(AsyncCallback<Long> callback);
    void getTaskList( String user, AsyncCallback<List<TaskInfo>> callback );
    void moveFlow( Long taskId, String user, AsyncCallback callback );
    void getTaskData( Long taskId, AsyncCallback<Map<String, Object>> callback );
    void startTask( Long taskId, String user, AsyncCallback<Map<String, Object>> callback );
    void stopTask( Long taskId, String user, AsyncCallback callback );
    void completeTask( Long taskId, String user, Map<String, Object> data, AsyncCallback callback );
    void dummyDate( Date date, Boolean bool, BigDecimal bigDecimal, AsyncCallback callback );
    void dummyDouble( Double doub, AsyncCallback< Double > callback );
    void dummyBigDecimal( BigDecimal bd, AsyncCallback< BigDecimal > callback );
}
